package com.example.springhelloworld.pojo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * so
 * @author 
 */
@Data
public class So implements Serializable {
    /**
     * 唯一主键
     */
    private Long id;

    /**
     * 格式：150905xxxxxxxx2657 纯数字 6位日期+8位数字+1校验位+3位用户id
     */
    private String orderCode;

    /**
     * 格式同orderCode,复制订单时用来标识复制订单来源
     */
    private String copyOrderCode;

    /**
     * 父order_code
     */
    private String parentOrderCode;

    /**
     * 1 子单 2 父单
     */
    private Integer isLeaf;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 下单用户账号
     */
    private String userName;

    /**
     * 商家ID
     */
    private Long merchantId;

    /**
     * 经销商id
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 经销商类型
     */
    private String customerType;

    /**
     * 订单金额(不含运费/运费险)
     */
    private BigDecimal orderAmount;

    /**
     * 订单商品总金额
     */
    private BigDecimal productAmount;

    /**
     * 币别码
     */
    private String currency;

    /**
     * 币别名称
     */
    private String currencyName;

    /**
     * 币种汇率
     */
    private BigDecimal currencyRate;

    /**
     * 币种符号
     */
    private String currencySymbol;

    /**
     * 税费
     */
    private BigDecimal taxAmount;

    /**
     * 订单状态,字典ORDER_STATUS
     */
    private Integer orderStatus;

    /**
     * 下单时间
     */
    private Date orderCreateTime;

    /**
     * 支付方式,字典PAY_METHOD
     */
    private Integer orderPaymentType;

    /**
     * 支付状态,字典ORDER_PAYMENT_STATUS
     */
    private Integer orderPaymentStatus;

    /**
     * 支付确认时间
     */
    private Date orderPaymentConfirmDate;

    /**
     * 运费(实收)
     */
    private BigDecimal orderDeliveryFee;

    /**
     * 支付-抵用券支付的金额
     */
    private BigDecimal orderPaidByCoupon;

    /**
     * 订单已优惠金额(满立减)
     */
    private BigDecimal orderPromotionDiscount;

    /**
     * 订单赠送的积分
     */
    private BigDecimal orderGivePoints;

    /**
     * 取消原因ID
     */
    private Integer orderCancelReasonId;

    /**
     * 取消时间
     */
    private Date orderCancelDate;

    /**
     * 订单取消原因 
     */
    private String orderCsCancelReason;

    /**
     * 取消操作人类型：0:用户取消 1:系统取消 2:客服取消
     */
    private Integer orderCanceOperateType;

    /**
     * 取消操作人用户名
     */
    private String orderCanceOperateId;

    /**
     * 配送方式类型
     */
    private String orderDeliveryMethodId;

    /**
     * 销售员id
     */
    private Long salesmanId;

    /**
     * 销售员name
     */
    private String salesmanName;

    /**
     * 订单备注(用户)
     */
    private String orderRemarkUser;

    /**
     * 订单备注(商家给用户看的)
     */
    private String orderRemarkMerchant2user;

    /**
     * 订单备注(商家自己看的)
     */
    private String orderRemarkMerchant;

    /**
     * 订单来源 字典ORDER_SOURCE
     */
    private Integer orderSource;

    /**
     * 订单渠道 字典ORDER_CHANNEL
     */
    private Integer orderChannel;

    /**
     * 订单促销状态：1001 拼团中，1002拼团成功，1003拼团失败，1004 参团失败，1006 参团成功，1005 取消参团；3001 待补货，3002、补货中 3003 补货成功， 3004 已取消
     */
    private Integer orderPromotionStatus;

    /**
     * 收货人地址
     */
    private String goodReceiverAddress;

    /**
     * 收货人地址邮编
     */
    private String goodReceiverPostcode;

    /**
     * 收货人姓名
     */
    private String goodReceiverName;

    /**
     * 收货人手机
     */
    private String goodReceiverMobile;

    /**
     * 收货人国家
     */
    private String goodReceiverCountry;

    /**
     * 收货人省份
     */
    private String goodReceiverProvince;

    /**
     * 收货人城市
     */
    private String goodReceiverCity;

    /**
     * 收货人地区
     */
    private String goodReceiverCounty;

    /**
     * 收货人四级区域
     */
    private String goodReceiverArea;

    /**
     * 身份证号码
     */
    private String identityCardNumber;

    /**
     * 订单出库时间
     */
    private Date orderLogisticsTime;

    /**
     * 订单收货时间
     */
    private Date orderReceiveDate;

    /**
     * 0：未删除1：回收站-用户可恢复到02：用户完全删除(客服可协助恢复到0或1)
     */
    private Integer orderDeleteStatus;

    /**
     * 改价前订单金额(不含运费/运费险)
     */
    private BigDecimal orderBeforeAmount;

    /**
     * 改价前运费(实收)
     */
    private BigDecimal orderBeforeDeliveryFee;

    /**
     * 订单来源系统
     */
    private String sysSource;

    /**
     * 外部系统订单编号
     */
    private String outOrderCode;

    /**
     * 评论状态 0 :未评论 1 已评论
     */
    private Integer commentStatus;

    /**
     * 商家名称
     */
    private String merchantName;

    /**
     * 平台备注
     */
    private String orderRemarkCompany;

    /**
     * 订单完成时间
     */
    private Date orderCompleteDate;

    /**
     * 订单类型，对应so_type
     */
    private Integer orderType;

    /**
     * 收货人国家code
     */
    private String goodReceiverCountryCode;

    /**
     * 收货人省份code
     */
    private String goodReceiverProvinceCode;

    /**
     * 收货人城市code
     */
    private String goodReceiverCityCode;

    /**
     * 收货人四级区域code
     */
    private String goodReceiverAreaCode;

    /**
     * 店铺Id
     */
    private Long storeId;

    /**
     * 店铺名称
     */
    private String storeName;

    /**
     * 订单标签
     */
    private String orderLabel;

    /**
     * 预计发货日期
     */
    private Date expectDeliverDate;

    /**
     * 收银员-如果是POS渠道的订单，会同步
     */
    private String cashier;

    /**
     * 团单号
     */
    private String sourceCode;

    /**
     *  就餐类型 1堂吃 2外带
     */
    private Byte mealType;

    /**
     * 订单设备号
     */
    private String equipCode;

    /**
     * 桌名
     */
    private String tableName;

    /**
     * 就餐人数
     */
    private Integer mealsNum;

    /**
     * 订单序号
     */
    private String seqNo;

    /**
     * 外部出库单号
     */
    private String outSendCode;

    /**
     * 扩展信息，以json形式存储
     */
    private String extInfo;

    /**
     * 扩展字段1
     */
    private String extField1;

    /**
     * 扩展字段2
     */
    private String extField2;

    /**
     * 扩展字段3
     */
    private String extField3;

    /**
     * 扩展字段4
     */
    private String extField4;

    /**
     * 扩展字段5
     */
    private String extField5;

    /**
     * 原销售订单号
     */
    private String sourceOrderCode;

    /**
     * 关联的售后单号
     */
    private String sourceReturnCode;

    /**
     * 服务码
     */
    private String serviceCode;

    /**
     * 服务日期时间
     */
    private Object serviceDateTime;

    /**
     * 是否可用:默认0否;1是
     */
    private Integer isAvailable;

    /**
     * 是否逻辑删除:默认0未删除;1已删除
     */
    private Integer isDeleted;

    /**
     * 创建人ID
     */
    private Long createUserid;

    /**
     * 创建人姓名
     */
    private String createUsername;

    /**
     * 创建时间-应用操作时间
     */
    private Date createTime;

    /**
     * 创建时间-数据库操作时间
     */
    private Date createTimeDb;

    /**
     * 服务器IP
     */
    private String serverIp;

    /**
     * 最后修改人ID
     */
    private Long updateUserid;

    /**
     * 最后修改人姓名
     */
    private String updateUsername;

    /**
     * 最后修改时间
     */
    private Date updateTime;

    /**
     * 最后修改时间-数据库默认写入时间
     */
    private Date updateTimeDb;

    /**
     * 公司id
     */
    private Long companyId;

    private static final long serialVersionUID = 1L;
}